This invention relates in general to a method and apparatus for providing system registration information installed within a software catalog of a computing system, and more particularly to a method and apparatus for providing system registration information directly from the component object that is installed within the software catalog of a computing system.
Prior to this invention, COM objects were installed into a system by requiring the object developer to modify the system registry to place the registration information within it. By placing the registration information in the registry, the COM objects informed the system of their existence, location, and properties. This software architecture required all developers to both understand and utilize the organization and structure of the system registry in order to install their objects. This requirement was significant in that the actions of one developer could adversely affect the operation of other objects once the common registration information in the registry was altered. Additionally, the previously implemented organization and structure of the registry needed to be maintained to ensure the operation of legacy components within a system.
Currently, COM objects, or DLLs, are installed into a system registry by invoking a well defined entry point called DllRegisterServer. They are uninstalled from the system registry by calling another well defined entry point called DllUnregisterserver. This process adds a layer of complexity to the task of the developer in that he or she must understand the organization and structure of the system registry in order to be able to correctly modify it without affecting the operation of other objects already installed within the system registry. This process also adds a system legacy requirement to the registry in that its organization and structure must be maintained to continue to operate with existing DLLs. Finally, the system registry is a general purpose storage area shared by the entire system and used for many purposes. Also, access to the registry has not been particularly optimized for use at runtime The present invention addresses each of these deficiencies.
To overcome the limitations in the prior art described above, and to overcome other limitations in the prior art that will become apparent upon reading and understanding the present specification, the present invention discloses a method and apparatusxe2x80x94for providing system registration information directly from the component object that is installed within the software catalog of a computing system.
Because of a desire to eliminate problems associated with developers having to modify the system registry as part of an object installation process as well as a desire to make the registry storage, location and format independent, an improved registration process utilizes self-describing objects to obtain the registration data. In this registration process, data to describe the components are stored within the component in an easily recognizable form. The registration process extracts the data from the self describing component and installs the data within the registration database. The database is presented to the installing process in the form of a data table to remove the developer from individually modifying the database directly.
The present invention solves the above-described problems by providing a method for installing and registering configuration data of COM component objects within a registration database of a computing system, the method comprising checking the COM component object to determine whether it contains a set of self-describing data. The registration process performs the following: extracts the self-describing data from the COM component, registers the COM component using the extracted self-describing data by storing registration data within the registration database and deriving additional registration data from the extracted self-describing data and storing the additional registration data within the registration database.
Another aspect of the present invention is a computer-readable medium having stored thereon a data structure defining a self-describing COM component object to be read by a system registrar module to install and register the self-describing COM component within a registration datastore. A first data field contains data representing a dynamic link library. A second data field derived from the first data field has a reserve word module. A third data field derived from the second data field has one or more self-describing component data elements. A fourth data field functions to indicate the end of the self-describing COM component object, wherein the one or more self-describing component data elements are extracted by the system registrar module to generate data stored within the registration datastore.
These and various other advantages and features of the invention are pointed out with particularity in the claims annexed hereto and form a part hereof. However, for a better understanding of the invention and its advantages, reference should be made to the drawings which form a further part hereof, and to accompanying descriptive matter, in which there are illustrated and described specific examples of embodiments in accordance with the invention.